home *** CD-ROM | disk | FTP | other *** search
- File: fontu.info, Node: Installation, Next: Overview, Prev: Introduction, Up: Top
-
- Installation
- ************
-
- *Note Prereqs::, for what you need to have installed before you can
- compile these programs.
-
- After that, here's what to do:
-
- * Run `sh configure' in the top-level directory. This tries to
- figure out system dependencies and the installation prefix. *Note
- configure::, for options and other information about the
- `configure' script.
-
- * If necessary, edit the paths or other definitions in the top-level
- `GNUmakefile' and in `include/c-auto.h'.
-
- * Run GNU make. For example, if it's installed as `make', just type
- `make' in the top-level directory. If all goes well, this will
- compile all the programs.
-
- * Install the programs and supporting data files with `make install'.
-
- If you encounter problems anywhere along the line, let us know. Known
- problems are listed below (*note Problems::.). *Note Bugs::, for
- details on how to submit a useful bug report.
-
- * Menu:
-
- * configure:: Options and frills for the `configure' script.
- * Prereqs:: What's needed before installation.
- * Problems:: Known trouble.
-
- File: fontu.info, Node: configure, Next: Prereqs, Up: Installation
-
- The `configure' script
- ======================
-
- (This section is largely from the Autoconf manual, by David MacKenzie.
- *Note Running `configure' scripts: ( autoconf)Running configure
- Scripts.)
-
- The `configure' script that comes with the font utilities is
- generated automatically by the Autoconf program. You can regenerate
- `configure' by rerunning Autoconf (for example, if a new version of
- Autoconf is released); you must arrange for Autoconf to use the macros
- in `./aclocal.m4' (*note Generating `configure': (autoconf)Generating
- configure.).
-
- The purpose of `configure' is to adapt the source code to your
- system: for example, the name of the directory header file (`dirent.h'
- or `sys/dir.h'), whether an `install' program is available, and so on.
-
- Normally, you do not need to give any options to `configure'; you
- `cd' to the directory with the source code and type `configure'.
- Exceptions: if `.' is not in your `PATH', you must type `./configure';
- if you are using a non-Bourne-compatible shell on some old systems, you
- must samp `sh configure'.
-
- Running `configure' takes a minute or two. While it is running, it
- prints some messages that tell what it is doing. If you don't want to
- see the messages, run `configure' with its standard output redirected
- to `/dev/null'; for example, `configure >/dev/null'.
-
- To compile the package in a different directory from the one
- containing the source code, you must use a variant of Make that
- supports the `VPATH' variable, such as GNU Make. `cd' to the directory
- where you want the object files and executables to go and run
- `configure' with the option `--srcdir=DIR', where DIR is the directory
- that contains the source code. Using this option is unnecessary if the
- source code is in the parent directory of the one in which you are
- compiling; `configure' automatically checks for the source code in `..'
- if it does not find it in `.'.
-
- `configure' guesses the default installation prefix (we'll call it
- `$(prefix)') by looking for the directory which contains the command
- `gcc', and using its parent. For example, if `gcc' is installed as
- `/usr/local/gnu/bin/gcc', `$(prefix)' will be set to `/usr/local/gnu'.
-
- You can override this default guess for the installation prefix by
- giving `configure' the option `--prefix=PATH'. You can also specify
- separate installation prefixes for architecture-specific files and
- architecture-independent files by giving `configure' the option
- `--exec_prefix=XPATH'. Then XPATH will be the prefix for installing
- programs and libraries. Data files and documentation will still use
- the regular prefix. Normally, all files are installed using the
- regular prefix.
-
- You can tell `configure' to figure out the configuration for your
- system, and record it in `config.status', without actually configuring
- the package. To do this, give `configure' the `--no-create' option.
- Later, you can run `./config.status' to actually configure the package.
- This option is useful mainly in `Makefile' rules for updating
- `config.status' and the `Makefile' itself. You can also give
- `config.status' the `--recheck' option, which makes it rerun
- `configure' with the same arguments you used before. This is useful if
- you change `configure'.
-
- `configure' ignores any other arguments that you give it.
-
- On systems that require unusual options for compilation or linking
- that the package's `configure' script does not know about, you can give
- `configure' initial values for variables by setting them in the
- environment. In Bourne-compatible shells, you can do that on the
- command line like this:
-
- CC='gcc -traditional' LIBS=-lposix sh configure
-
- The Make variables that you might want to override with environment
- variables when running `configure' are:
-
- (For these variables, any value given in the environment overrides the
- value that `configure' would choose.)
-
- `CC'
- The C compiler program. The default is `gcc' if that is in your
- `PATH', `cc' otherwise.
-
- `INSTALL'
- The program to use to install files. The default is `install' if
- you have it, `cp' otherwise.
-
- (For these variables, any value given in the environment is added to
- the value that `configure' chooses.)
-
- `DEFS'
- Configuration options, in the form `-Dfoo -Dbar...'. Packages
- that use the Autoconf macro `AC_CONFIG_HEADER' (including the file
- utilities) do not use this variable.
-
- `LIBS'
- Libraries to link with, in the form `-lfoo -lbar...'.
-
- Of course, problems requiring manual intervention (e.g., setting these
- variables) should ideally be fixed by updating either the Autoconf
- macros or the `configure.in' file for that package.
-
- File: fontu.info, Node: Prereqs, Next: Problems, Prev: configure, Up: Installation
-
- Prerequisites
- =============
-
- To compile and use these programs, the following are necessary:
-
- * The GNU C compiler, version 1.40 or newer.
-
- * GNU Make; probably any version newer than 3.50 or so will do.
-
- * X11R4 or R5 unshared libraries and headers. These are only
- necessary to run XBfe (*note XBfe::.) or for Limn (*note Limn::.)
- to display its results online. (You also need an X11 server,
- naturally.) You might be able to compile using the X11 shared
- libraries, but we haven't tried that.
-
- * To make any substantial use of the fonts you create, you will
- probably need TeX, Metafont, and their friends, especially
- `PLtoTF' and `GFtoPK'.
-
- * Ghostscript, version 2.4 or newer. You only need this if you want
- to use GSrenderfont or BZRedit.
-
- * The GNU Awk program, `gawk'. This is only needed if you want to
- use GSrenderfont.
-
- See the section below for information on how to get all these
- programs.
-
- * Menu:
-
- * Archives:: Where to find programs.
-
- File: fontu.info, Node: Archives, Up: Prereqs
-
- Archives
- --------
-
- The canonical source for all GNU software, including the GNU C
- compiler, GNU make, and Ghostscript, is `prep.ai.mit.edu
- [18.71.0.38]:pub/gnu'. That directory is replicated at many other sites
- around the world, including:
-
- United States:
- wuarchive.wustl.edu gatekeeper.dec.com:pub/GNU
- uxc.cso.uiuc.edu ftp.uu.net:packages/gnu
-
- Europe:
- archive.eu.net src.doc.ic.ac.uk:gnu ftp.funet.fi
- nic.funet.fi:pub/gnu ugle.unit.no isy.liu.se
- ftp.diku.dk
-
- elsewhere:
- ftp.cs.titech.ac.jp utsun.s.u-tokyo.ac.jp:ftpsync/prep
- archie.au:gnu
-
- You can also order tapes with GNU software from the Free Software
- Foundation (thereby supporting the development of the font utilities and
- the rest of the GNU project); send mail to `gnu@prep.ai.mit.edu' for
- the latest prices and ordering information, or retrieve the file
- `DISTRIB' from a GNU archive.
-
- The canonical source for the X window system is
- `export.lcs.mit.edu:pub/R5'. That directory is also shadowed at many
- other sites, including `gatekeeper.dec.com'. The FSF also sells X
- distribution tapes.
-
- TeX is more scattered. A complete Unix TeX distribution is available
- for ftp on the machine `byron.u.washington.edu', or by ordering a tape
- from the University of Washington (send email to
- `elisabet@u.washington.edu'. What is on `byron' for ftp is often
- out-of-date, though.
-
- The canonical sources for just Web2C--the port of just TeX, Metafont,
- and friends to Unix, without DVI processors, fonts, macro packages,
- etc.--are:
-
- ftp.cs.umb.edu [192.12.26.23]:pub/tex/ (Boston)
- ics.uci.edu [128.195.1.1]:TeX/ (California)
- ftp.th-darmstadt.de [130.83.55.75]:pub/tex/src/web2c/ (Germany)
-
- At all these sites, the files to retrieve are `web.tar.Z' and
- `web2c.tar.Z'.
-
- The DVI-to-PostScript driver we recommend is Tom Rokicki's Dvips, and
- the X window system driver we recommend is Paul Vojta's XDvi. These
- programs are available from, respectively,
- labrea.stanford.edu:pub/dvips*
- export.lcs.mit.edu:contrib/xdvi.tar.Z
-
- We have modified XDvi and Dvips to use the same path searching code as
- the current distribution of TeX and these font utilities; the modified
- versions are available from `ftp.cs.umb.edu:pub/tex'.
-
- To use Metafont, you must have a file defining output devices. (*Note
- Metafont and BZRto::.) We recommend you obtain `modes.mf' from
- ftp.cs.umb.edu:pub/tex/modes.mf
-
- You can retrieve the document describing all the details of the naming
- scheme for TeX fonts from
-
- ftp.cs.umb.edu [192.12.26.23]:pub/tex/fontname.tar.Z
-
- File: fontu.info, Node: Problems, Prev: Prereqs, Up: Installation
-
- Problems
- ========
-
- This section lists some things which have caused trouble during
- installation. If you encounter other problems, please send a bug
- report. *Note Bugs::, for how to submit a useful bug report.
-
- * You may get a warning from the compiler about `-static' being an
- unrecognized option. Ignore it. (This has already been reported
- to `bug-gcc'.)
-
- * Under SunOS 4.x, the programs which use X (XBfe and Limn) cannot be
- dynamically linked, because (apparently) `/bin/ld' pulls in the
- entire `.sa' file, and the Form, Label, and Viewport widgets are
- multiply defined. (To us, this seems to defeat the whole purpose
- of having libraries. It also seems bizarre to us that X was
- written so that these multibyte functions are always needed (via
- `__Xsi...'), and furthermore that the multibyte functions need to
- specifically call the dynamic linking functions.)
-
- The file `lib/dlsym.c' (from the MIT X distribution) defines the
- `dlsym', `dlclose', and `dlopen' symbols, so static linking should
- work now.
-
- If the current setup fails, it might work to change `-lXaw' in the
- definition of `X_libraries' in `lib/defs.make' to the full
- pathname of the Xaw library.
-
- * On many machines (Sun 3 or Sun 4 running SunOS 4.1, Sun386i running
- 4.0.2, 386 running ISC 2.2), GCC 1.40 gets a fatal error compiling
- `imageto/main.c' with `-O'. Just use `-g' for that file, or use a
- newer version of GCC.
-
- * On a 386 running Interactive UNIX 2.2, `<math.h>' declares the
- wrong prototype for `fmod': the routine takes two doubles, not one.
- We simply corrected our system include file.
-
- You may get compiler warnings for the file `widgets/Bitmap.c' at
- the lines which use the Xt function `XtIsRealized' on systems which
- define `NULL' as `(void *) 0'. The reason is that macro
- definition of `XtIsRealized' in `<X11/IntrinsicP.h>' incorrectly
- compares the result of `XtWindowOfObject' to `NULL', instead of
- `0'. If the warnings bother you, fix `IntrinsicP.h'.
-
- * The application resource files `limn/Limn' and `xbfe/XBfe' must be
- installed in a directory where your X server can find them. This
- directory varies according to how X was installed; in the default X
- distribution, it is `/usr/lib/X11/app-defaults'. If you cannot (or
- do not want to) write in the default directory, you can install
- them elsewhere and set the `XAPPLRESDIR' environment variable to
- that directory. See the tutorial on resources that comes with the
- MIT X distribution (`mit/doc/tutorial/resources.txt') for more
- information.
-
- Good luck.
-